home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Demos / ByCompany / TipTop_Software / TipTop / Supplement / man / tcl / info.n < prev    next >
Text File  |  1994-05-08  |  11KB  |  344 lines

  1. '\"
  2. '\" Copyright (c) 1993 The Regents of the University of California.
  3. '\" All rights reserved.
  4. '\"
  5. '\" Permission is hereby granted, without written agreement and without
  6. '\" license or royalty fees, to use, copy, modify, and distribute this
  7. '\" documentation for any purpose, provided that the above copyright
  8. '\" notice and the following two paragraphs appear in all copies.
  9. '\"
  10. '\" IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
  11. '\" FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
  12. '\" ARISING OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
  13. '\" CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14. '\"
  15. '\" THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
  16. '\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
  17. '\" AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
  18. '\" ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
  19. '\" PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  20. '\" 
  21. '\" $Header: /user6/ouster/tcl/man/RCS/info.n,v 1.2 93/06/18 13:58:33 ouster Exp $ SPRITE (Berkeley)
  22. '\" 
  23. .\" The definitions below are for supplemental macros used in Tcl/Tk
  24. .\" manual entries.
  25. .\"
  26. .\" .HS name section [date [version]]
  27. .\"    Replacement for .TH in other man pages.  See below for valid
  28. .\"    section names.
  29. .\"
  30. .\" .AP type name in/out [indent]
  31. .\"    Start paragraph describing an argument to a library procedure.
  32. .\"    type is type of argument (int, etc.), in/out is either "in", "out",
  33. .\"    or "in/out" to describe whether procedure reads or modifies arg,
  34. .\"    and indent is equivalent to second arg of .IP (shouldn't ever be
  35. .\"    needed;  use .AS below instead)
  36. .\"
  37. .\" .AS [type [name]]
  38. .\"    Give maximum sizes of arguments for setting tab stops.  Type and
  39. .\"    name are examples of largest possible arguments that will be passed
  40. .\"    to .AP later.  If args are omitted, default tab stops are used.
  41. .\"
  42. .\" .BS
  43. .\"    Start box enclosure.  From here until next .BE, everything will be
  44. .\"    enclosed in one large box.
  45. .\"
  46. .\" .BE
  47. .\"    End of box enclosure.
  48. .\"
  49. .\" .VS
  50. .\"    Begin vertical sidebar, for use in marking newly-changed parts
  51. .\"    of man pages.
  52. .\"
  53. .\" .VE
  54. .\"    End of vertical sidebar.
  55. .\"
  56. .\" .DS
  57. .\"    Begin an indented unfilled display.
  58. .\"
  59. .\" .DE
  60. .\"    End of indented unfilled display.
  61. .\"
  62. '\"    # Heading for Tcl/Tk man pages
  63. .de HS
  64. .ds ^3 \\0
  65. .if !"\\$3"" .ds ^3 \\$3
  66. .if '\\$2'cmds'       .TH \\$1 1 \\*(^3 \\$4
  67. .if '\\$2'lib'        .TH \\$1 3 \\*(^3 \\$4
  68. .if '\\$2'tcl'        .TH \\$1 n \\*(^3 Tcl "Tcl Built-In Commands"
  69. .if '\\$2'tk'         .TH \\$1 n \\*(^3 Tk "Tk Commands"
  70. .if '\\$2'tclc'        .TH \\$1 3 \\*(^3 Tcl "Tcl Library Procedures"
  71. .if '\\$2'tkc'         .TH \\$1 3 \\*(^3 Tk "Tk Library Procedures"
  72. .if '\\$2'tclcmds'         .TH \\$1 1 \\*(^3 Tk "Tcl Applications"
  73. .if '\\$2'tkcmds'         .TH \\$1 1 \\*(^3 Tk "Tk Applications"
  74. .if t .wh -1.3i ^B
  75. .nr ^l \\n(.l
  76. .ad b
  77. ..
  78. '\"    # Start an argument description
  79. .de AP
  80. .ie !"\\$4"" .TP \\$4
  81. .el \{\
  82. .   ie !"\\$2"" .TP \\n()Cu
  83. .   el          .TP 15
  84. .\}
  85. .ie !"\\$3"" \{\
  86. .ta \\n()Au \\n()Bu
  87. \&\\$1    \\fI\\$2\\fP    (\\$3)
  88. .\".b
  89. .\}
  90. .el \{\
  91. .br
  92. .ie !"\\$2"" \{\
  93. \&\\$1    \\fI\\$2\\fP
  94. .\}
  95. .el \{\
  96. \&\\fI\\$1\\fP
  97. .\}
  98. .\}
  99. ..
  100. '\"    # define tabbing values for .AP
  101. .de AS
  102. .nr )A 10n
  103. .if !"\\$1"" .nr )A \\w'\\$1'u+3n
  104. .nr )B \\n()Au+15n
  105. .\"
  106. .if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
  107. .nr )C \\n()Bu+\\w'(in/out)'u+2n
  108. ..
  109. '\"    # BS - start boxed text
  110. '\"    # ^y = starting y location
  111. '\"    # ^b = 1
  112. .de BS
  113. .br
  114. .mk ^y
  115. .nr ^b 1u
  116. .if n .nf
  117. .if n .ti 0
  118. .if n \l'\\n(.lu\(ul'
  119. .if n .fi
  120. ..
  121. '\"    # BE - end boxed text (draw box now)
  122. .de BE
  123. .nf
  124. .ti 0
  125. .mk ^t
  126. .ie n \l'\\n(^lu\(ul'
  127. .el \{\
  128. .\"    Draw four-sided box normally, but don't draw top of
  129. .\"    box if the box started on an earlier page.
  130. .ie !\\n(^b-1 \{\
  131. \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
  132. .\}
  133. .el \}\
  134. \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
  135. .\}
  136. .\}
  137. .fi
  138. .br
  139. .nr ^b 0
  140. ..
  141. '\"    # VS - start vertical sidebar
  142. '\"    # ^Y = starting y location
  143. '\"    # ^v = 1 (for troff;  for nroff this doesn't matter)
  144. .de VS
  145. .mk ^Y
  146. .ie n 'mc \s12\(br\s0
  147. .el .nr ^v 1u
  148. ..
  149. '\"    # VE - end of vertical sidebar
  150. .de VE
  151. .ie n 'mc
  152. .el \{\
  153. .ev 2
  154. .nf
  155. .ti 0
  156. .mk ^t
  157. \h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
  158. .sp -1
  159. .fi
  160. .ev
  161. .\}
  162. .nr ^v 0
  163. ..
  164. '\"    # Special macro to handle page bottom:  finish off current
  165. '\"    # box/sidebar if in box/sidebar mode, then invoked standard
  166. '\"    # page bottom macro.
  167. .de ^B
  168. .ev 2
  169. 'ti 0
  170. 'nf
  171. .mk ^t
  172. .if \\n(^b \{\
  173. .\"    Draw three-sided box if this is the box's first page,
  174. .\"    draw two sides but no top otherwise.
  175. .ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
  176. .el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
  177. .\}
  178. .if \\n(^v \{\
  179. .nr ^x \\n(^tu+1v-\\n(^Yu
  180. \kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
  181. .\}
  182. .bp
  183. 'fi
  184. .ev
  185. .if \\n(^b \{\
  186. .mk ^y
  187. .nr ^b 2
  188. .\}
  189. .if \\n(^v \{\
  190. .mk ^Y
  191. .\}
  192. ..
  193. '\"    # DS - begin display
  194. .de DS
  195. .RS
  196. .nf
  197. .sp
  198. ..
  199. '\"    # DE - end display
  200. .de DE
  201. .fi
  202. .RE
  203. .sp .5
  204. ..
  205. .HS info tcl 7.0
  206. .BS
  207. '\" Note:  do not modify the .SH NAME line immediately below!
  208. .SH NAME
  209. info \- Return information about the state of the Tcl interpreter
  210. .SH SYNOPSIS
  211. \fBinfo \fIoption \fR?\fIarg arg ...\fR?
  212. .BE
  213.  
  214. .SH DESCRIPTION
  215. .PP
  216. This command provides information about various internals of the Tcl
  217. interpreter.
  218. The legal \fIoption\fR's (which may be abbreviated) are:
  219. .TP
  220. \fBinfo args \fIprocname\fR
  221. Returns a list containing the names of the arguments to procedure
  222. \fIprocname\fR, in order.  \fIProcname\fR must be the name of a
  223. Tcl command procedure.
  224. .TP
  225. \fBinfo body \fIprocname\fR
  226. Returns the body of procedure \fIprocname\fR.  \fIProcname\fR must be
  227. the name of a Tcl command procedure.
  228. .TP
  229. \fBinfo cmdcount\fR
  230. Returns a count of the total number of commands that have been invoked
  231. in this interpreter.
  232. .TP
  233. \fBinfo commands \fR?\fIpattern\fR?
  234. If \fIpattern\fR isn't specified, returns a list of names of all the
  235. Tcl commands, including both the built-in commands written in C and
  236. the command procedures defined using the \fBproc\fR command.
  237. If \fIpattern\fR is specified, only those names matching \fIpattern\fR
  238. are returned.  Matching is determined using the same rules as for
  239. \fBstring match\fR.
  240. .TP
  241. \fBinfo complete \fIcommand\fR
  242. Returns 1 if \fIcommand\fR is a complete Tcl command in the sense of
  243. having no unclosed quotes, braces, brackets or array element names,
  244. If the command doesn't appear to be complete then 0 is returned.
  245. This command is typically used in line-oriented input environments
  246. to allow users to type in commands that span multiple lines;  if the
  247. command isn't complete, the script can delay evaluating it until additional
  248. lines have been typed to complete the command.
  249. .TP
  250. \fBinfo default \fIprocname arg varname\fR
  251. \fIProcname\fR must be the name of a Tcl command procedure and \fIarg\fR
  252. must be the name of an argument to that procedure.  If \fIarg\fR
  253. doesn't have a default value then the command returns \fB0\fR.
  254. Otherwise it returns \fB1\fR and places the default value of \fIarg\fR
  255. into variable \fIvarname\fR.
  256. .TP
  257. \fBinfo exists \fIvarName\fR
  258. Returns \fB1\fR if the variable named \fIvarName\fR exists in the
  259. current context (either as a global or local variable), returns \fB0\fR
  260. otherwise.
  261. .TP
  262. \fBinfo globals \fR?\fIpattern\fR?
  263. If \fIpattern\fR isn't specified, returns a list of all the names
  264. of currently-defined global variables.
  265. If \fIpattern\fR is specified, only those names matching \fIpattern\fR
  266. are returned.  Matching is determined using the same rules as for
  267. \fBstring match\fR.
  268. .TP
  269. \fBinfo level\fR ?\fInumber\fR?
  270. If \fInumber\fR is not specified, this command returns a number
  271. giving the stack level of the invoking procedure, or 0 if the
  272. command is invoked at top-level.  If \fInumber\fR is specified,
  273. then the result is a list consisting of the name and arguments for the
  274. procedure call at level \fInumber\fR on the stack.  If \fInumber\fR
  275. is positive then it selects a particular stack level (1 refers
  276. to the top-most active procedure, 2 to the procedure it called, and
  277. so on); otherwise it gives a level relative to the current level
  278. (0 refers to the current procedure, -1 to its caller, and so on).
  279. See the \fBuplevel\fR command for more information on what stack
  280. levels mean.
  281. .TP
  282. \fBinfo library\fR
  283. Returns the name of the library directory in which standard Tcl
  284. scripts are stored.
  285. The default value for the library is compiled into Tcl, but it
  286. may be overridden by setting the TCL_LIBRARY environment variable.
  287. If there is no TCL_LIBRARY variable and no compiled-in value then
  288. and error is generated.
  289. See the \fBlibrary\fR manual entry for details of the facilities
  290. provided by the Tcl script library.
  291. Normally each application will have its own application-specific
  292. script library in addition to the Tcl script library;  I suggest that
  293. each application set a global variable with a name like
  294. \fB$\fIapp\fB_library\fR (where \fIapp\fR is the application's name)
  295. to hold the location of that application's library directory.
  296. .TP
  297. \fBinfo locals \fR?\fIpattern\fR?
  298. If \fIpattern\fR isn't specified, returns a list of all the names
  299. of currently-defined local variables, including arguments to the
  300. current procedure, if any.
  301. Variables defined with the \fBglobal\fR and \fBupvar\fR commands
  302. will not be returned.
  303. If \fIpattern\fR is specified, only those names matching \fIpattern\fR
  304. are returned.  Matching is determined using the same rules as for
  305. \fBstring match\fR.
  306. .TP
  307. \fBinfo patchlevel\fR
  308. .VS
  309. Returns a decimal integer giving the current patch level for Tcl.
  310. The patch level is incremented for each new release or patch, and
  311. it uniquely identifies an official version of Tcl.
  312. .VE
  313. .TP
  314. \fBinfo procs \fR?\fIpattern\fR?
  315. If \fIpattern\fR isn't specified, returns a list of all the
  316. names of Tcl command procedures.
  317. If \fIpattern\fR is specified, only those names matching \fIpattern\fR
  318. are returned.  Matching is determined using the same rules as for
  319. \fBstring match\fR.
  320. .TP
  321. \fBinfo script\fR
  322. If a Tcl script file is currently being evaluated (i.e. there is a
  323. call to \fBTcl_EvalFile\fR active or there is an active invocation
  324. of the \fBsource\fR command), then this command returns the name
  325. of the innermost file being processed.  Otherwise the command returns an
  326. empty string.
  327. .TP
  328. \fBinfo tclversion\fR
  329. Returns the version number for this version of Tcl in the form \fIx.y\fR,
  330. where changes to \fIx\fR represent major changes with probable
  331. incompatibilities and changes to \fIy\fR represent small enhancements and
  332. bug fixes that retain backward compatibility.
  333. .TP
  334. \fBinfo vars\fR ?\fIpattern\fR?
  335. If \fIpattern\fR isn't specified,
  336. returns a list of all the names of currently-visible variables, including
  337. both locals and currently-visible globals.
  338. If \fIpattern\fR is specified, only those names matching \fIpattern\fR
  339. are returned.  Matching is determined using the same rules as for
  340. \fBstring match\fR.
  341.  
  342. .SH KEYWORDS
  343. command, information, interpreter, level, procedure, variable
  344.